package com.cwx.mychat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cwx.mychat.entity.po.UserContact;
import com.cwx.mychat.entity.po.UserInfo;
import com.cwx.mychat.exception.BusinessException;
import com.cwx.mychat.utils.R;

import java.util.List;

public interface UserContactService extends IService<UserContact> {
    /**
     * 创建机器人好友
     * @param userId
     */
    void addContactRobot(String userId, String nickName);

    /**
     * 查询我的联系人和群组
     * @param userInfo
     * @return
     */
    List<UserContact> selectContact(UserInfo userInfo);

    /**
     * 获取所有联系人：好友
     * @param userId
     * @return
     */
    R getAllContactForUser(String userId);

    /**
     * 获取联系人中所有群组
     * @param userId
     * @return
     */
    R getAllContactForGroup(String userId);

    /**
     * 更新备注
     * @param contactId
     * @param remark
     * @return
     */
    R updateRemark(String contactId, String remark) throws BusinessException;

    /**
     * 新增备注
     */
    String  addRemark(String contactId, String userId, String remark) throws BusinessException;

    /**
     * 获取群组或者用户的简单信息
     * @param contactId
     * @return
     */
    R getGroupOrUserInfo(String contactId);

    /**
     * 获取联系人中所有群组
     * @param userId
     * @return
     */
    R getAllGroupByUserId(String userId);

    /**
     * 获取该联系人的备注
     * @param contactId
     * @param remark
     * @return
     */
    String getRemark(String contactId, String remark);
}
